Present day software becomes very complex and large scale due to significant processor technology and speed advancement. The testing of an apparatus with such complicated software poses real challenges.
Although manual tests can find many defects in software, it is a very laborious and time consuming process as well as a very expensive endeavor. Because of this, significant efforts have been spent to find more effective test automation methods.
Test automation is the process of creating a computer program to do testing that would otherwise need to be done manually. Once tests have been automated, they can be run quickly and repeatedly with little human interference. Hence it is often the most cost effective method for products test and validation.
How to automate a test is the subject of many studies. One important test automation method is record-and-playback method that let a system interactively record human actions and replay them back any number of times to compare actual execution results to find any software defects. The advantage of this method is that it requires little development efforts for test automation. The weakness of this method is that the automation can only repeat user's activities. The effectiveness of results depend almost entirely on a user's input behavior and the state of apparatus at the time of the test, hence has limited coverage. The method also lacks “active defect seeking” abilities. In order to increase test coverage, a large set of test case records must be manually created that will require significant maintenance work.
Hence it is desirable to invent a more effective automation test method that can retain the simplicity of record-and-playback approach but with the added intelligent for self-expanded test coverage beyond the repeat of user input activities. This is the subject of this invention.